/*
 * Project CelestialBeing: constants.hpp
 * Created: 2023/12/08
 * This program uses MulanPSL2. See LICENSE for more.
 */

#ifndef CELESTIALBEING_CONSTANTS_HPP
#define CELESTIALBEING_CONSTANTS_HPP
#include "cb/common/celestial_being_base.hpp"
CB_NAMESPACE_BEGIN
namespace C {

    // Xor this value to map a single uint64_t to a hashed value.
    constexpr static size_t kHashXorMapValueSingleUInt64 = 0x1234567890ABCDEF;

    constexpr static size_t kCacheLineSizeBytes = 64;
    constexpr static size_t kDiskPageSizeBytes  = 1024;
    // 256k
    constexpr static size_t kStateBlockSizeBytes = 256 * 1024;
    constexpr static size_t kMaxStateBlockNumElements = 1024;

    constexpr static size_t kConstStringLen = 512;

    constexpr static size_t kMaxMergedBinarySizeBytes = 64 * 1024 * 1024;
}
CB_NAMESPACE_END
#endif //CELESTIALBEING_CONSTANTS_HPP
